/**
 * BasicEntity.java -- 2017-10-16 17:04:38
 * 作者：欧增奇 -- 代码生成器自动生成
 * 联系方式：425752797@qq.com
 * http://www.ouzengqi.com/
 */
package com.ozq.common.dao.entity;

import java.io.Serializable;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


/**
 * <基本实体类> <所以的实体类必须继承该类>
 * 
 * @author 欧增奇
 * @version [V3.0, 2017年10月16日]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
public class BasicEntity implements Serializable
{
	/**
	 * 序列化ID
	 */
	private static final long serialVersionUID = -2952402858868480200L;

	static Logger logger = LoggerFactory.getLogger(BasicEntity.class);

	/**
	 * 升序
	 */
	public static String ORDER_BY_ASC = " asc ";
	/**
	 * 降序
	 */
	public static String ORDER_BY_DESC = " desc ";
	/**
	 * 去重
	 */
	public static String DISTINCT = " distinct ";
	/**
	 * 条件分割,
	 */
	public static String SEPARATOR = " , ";
	/**
	 * 开始行
	 */
	private Integer startLine;
	/**
	 * 结束行
	 */
	private Integer endLine;
	/**
	 * 去重
	 */
	private String distinct;
	/**
	 * 分组
	 */
	private String groupBy;
	/**
	 * 排序
	 */
	private String orderBy;
	/**
	 * 自定义条件
	 */
	private String customWhere;

	public Integer getStartLine()
	{
		return startLine;
	}

	/**
	 * 设置分页的开始行
	 * 
	 * @param startLine
	 */
	public void setStartLine(Integer startLine)
	{
		this.startLine = startLine;
	}

	public Integer getEndLine()
	{
		return endLine;
	}

	/**
	 * 设置分页 从开始行取几条数据
	 * 
	 * @param endLine
	 */
	public void setEndLine(Integer endLine)
	{
		this.endLine = endLine;
	}

	public String getDistinct()
	{
		return distinct;
	}

	/**
	 * 设置去重（查询、统计）
	 * 
	 * @param distinct
	 */
	public void setDistinct(String distinct)
	{
		this.distinct = distinct;
	}

	public String getGroupBy()
	{
		return groupBy;
	}

	/**
	 * 设置分组
	 * 
	 * @param groupBy
	 */
	public void setGroupBy(String groupBy)
	{
		this.groupBy = groupBy;
	}

	public String getOrderBy()
	{
		return orderBy;
	}

	/**
	 * 设置排序
	 * 
	 * @param groupBy
	 */
	public void setOrderBy(String orderBy)
	{
		this.orderBy = orderBy;
	}

	public String getCustomWhere()
	{
		return customWhere;
	}

	/**
	 * 设置自定义条件查询
	 * 
	 * @param customWhere
	 */
	public void setCustomWhere(String customWhere)
	{
		this.customWhere = customWhere;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString()
	{
		return ToStringBuilder.reflectionToString(this);
	}

}